package cn.zzf.algs.note.base.collection.v1;

/**
 * @author GaoFeng
 * @date 2019/11/21 11:11
 */
public interface Stack<T> {
    /**
     * 将一个元素添加到栈顶
     *
     * @param element 待添加的元素
     * @author ZengZhengFang
     * @date 2019/11/21 11:14
     */
    void push(T element);

    /**
     * 获取栈顶的元素并删除
     * @return T 获取到的元素
     * @author ZengZhengFang
     * @date 2019/11/21 11:14
     */
    T pop();

    /**
     * 获取当前栈的元素的数量
     * @return int 元素的个数
     * @author ZengZhengFang
     * @date 2019/11/21 11:16
     */
    int size();

    /**
     * 当前栈是否为空
     * @author ZengZhengFang
     * @date 2019/11/21 11:18
     * @return boolean
     */
    boolean isEmpty();


}
